package models;

import play.db.DB;
import play.db.jpa.GenericModel;
import play.db.jpa.Model;
import play.data.validation.Required;
import play.data.validation.MaxSize;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

/**
 * Model Usuario generated by Play!
 */

@Entity
@Table(name = "USUARIO")
public class Usuario extends GenericModel {

	@Id
	@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ_USUARIO")
	@SequenceGenerator(name = "SEQ_USUARIO", sequenceName = "SEQ_USUARIO", allocationSize = 1)
	private long idusuario;
	@ManyToOne
	public Empleado empleador;
	@Required
	@ManyToOne
	public Rol rol;
	@Required
	@MaxSize(25)
	public String nombreusuario;
	@Required
	@MaxSize(8)
	public String contrasena;
	@Required
	public char activo;
	public Date ultimoacceso;

	// @OneToMany(mappedBy="USUARIO")
	// public Set<Bitacora> bitacoras = new HashSet<Bitacora>(0);

	// default constructor
	public Usuario() {
	}

	public Usuario(long idusuario) {
		this.idusuario = idusuario;
	}

	@Override
	public String toString() {
		return "Usuario [idusuario=" + idusuario + ", empleador=" + empleador
				+ ", rol=" + rol + ", nombreusuario=" + nombreusuario
				+ ", contrasena=" + contrasena + ", activo=" + activo
				+ ", ultimoacceso=" + ultimoacceso + "]";
	}	
}

